home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -in_the_mag- / program_perfection / lines.h < prev    next >
C/C++ Source or Header  |  1999-12-08  |  964b  |  56 lines

  1. #ifndef LINES_H
  2. #define LINES_H
  3.  
  4. /*
  5.  * lines.h
  6.  *
  7.  * $Id :$
  8.  * $Log:$
  9.  *
  10.  */
  11.  
  12. #ifndef  DEFS_H
  13. #include "defs.h"
  14. #endif
  15.  
  16. #ifndef  ERRORS_H
  17. #include "errors.h"
  18. #endif
  19.  
  20. #ifndef  EXEC_NODES_H
  21. #include <exec/nodes.h>
  22. #endif
  23.  
  24.  
  25. typedef UWORD           LINE_LEN_TYPE;
  26. #define MAX_LINE_LEN    65534
  27.  
  28.  
  29. struct Line
  30. {
  31.     struct MinNode  Node;       /* list node header */
  32.     STRPTR          Contents;   /* pointer to string (not necessarily null terminated!) */
  33.     LINE_LEN_TYPE   Length;     /* number of chars in string */
  34. };
  35.  
  36. typedef struct Line  LINE_TYPE;
  37. typedef struct Line *LINE_PTR;
  38.  
  39.  
  40. LINE_PTR        Line_New( STRPTR string, LINE_LEN_TYPE len, ULONG  *err_code );
  41. VOID            Line_Dispose( LINE_PTR line );
  42. STRPTR          Line_GetContents( LINE_PTR line );
  43. LINE_LEN_TYPE   Line_GetLength( LINE_PTR line );
  44.  
  45. #ifdef DEBUG
  46.  
  47. #ifndef  DOS_DOS_H
  48. #include <dos/dos.h>
  49. #endif
  50.  
  51. VOID            Line_FPuts( BPTR file, LINE_PTR line );
  52.  
  53. #endif /* DEBUG */
  54.  
  55. #endif /* LINES_H */
  56.